| 12345678910111213141516171819202122232425262728293031323334353637 |
- // API 代理 - 将 /api/* 请求转发到后端服务
- const API_BASE = 'https://tg-live-game-api.ifoodme.com';
- export const onRequest: PagesFunction = async (context) => {
- const { request } = context;
- const url = new URL(request.url);
- // 构建目标 URL: /api/auth/login -> https://tg-live-game-api.ifoodme.com/api/auth/login
- const targetUrl = `${API_BASE}${url.pathname}${url.search}`;
- // 复制请求头,移除 host
- const headers = new Headers(request.headers);
- headers.delete('host');
- headers.set('origin', API_BASE);
- // 转发请求
- const response = await fetch(targetUrl, {
- method: request.method,
- headers,
- body: request.method !== 'GET' && request.method !== 'HEAD'
- ? request.body
- : undefined,
- });
- // 复制响应头
- const responseHeaders = new Headers(response.headers);
- // 添加 CORS 头
- responseHeaders.set('Access-Control-Allow-Origin', url.origin);
- responseHeaders.set('Access-Control-Allow-Credentials', 'true');
- return new Response(response.body, {
- status: response.status,
- statusText: response.statusText,
- headers: responseHeaders,
- });
- };
|